This application relates to the operation of re-programmable non-volatile memory circuits such as semiconductor flash memory and to the setting of values for operating parameters for such systems.
The operation of non-volatile memory devices, such as flash NAND memory circuits, depends upon a large number of parameters. For example, the read, write and erase operations of these devices use a number of different voltage levels. Additionally, there are parameters associated with the number of loops used in various operations and with when to begin, or end, different operations or sub-operations. As devices scale down, the controller of a memory system using such circuits may need to use different sets of trim values for different blocks based on the amount of wear the block has been through, in order to meet endurance and performance requirements. Consequently, the number of parameters/trim values that need to be updated for read, program, and erase operations is increasing with every generation. These different values of these parameters can be maintained on the memory chip itself, but at the price of devoting a large area penalty; alternate, they can be kept on the controller and transferred to the memory circuit as needed, which result in a performance penalty. Consequently, it would be useful to be able to maintain the needed parameters and supply these as needed to the memory circuit, while also minimizing the effects of this on the performance of the memory system.